import axios from 'axios'

 // axios的配置文件, 可以在这里去区分开发环境和生产环境等全局一些配置
//  const devBaseUrl = 'http://api.k780.com/'
//  const proBaseUrl = 'http://xxxxx.com/'

 console.log('process.env.NODE_ENV===>',process.env.NODE_ENV)
 
 // process.env返回的是一个包含用户的环境信息,它可以去区分是开发环境还是生产环境
//  export const BASE_URL =  process.env.NODE_ENV === 'development' ? devBaseUrl : proBaseUrl
const BASE_URL =  process.env.REACT_APP_API_BASE_URL;
const TIMEOUT = 5000

var request = axios.create({
    baseURL:BASE_URL,//基准地址
    timeout:TIMEOUT,
    // 设置默认的请求头
    headers: {
      'Content-Type': 'application/json;charset=UTF-8',
      'Accept': 'application/json',
    },
    // 是否携带cookie
    withCredentials: false,
})
//拦截请求
request.interceptors.request.use(
  config => {
    // // 从sessionStorage中获取token，并添加到请求头
    // const token = sessionStorage.getItem('userId');
    // if (token) {
    //   config.headers['Authorization'] = `Bearer ${token}`;
    // }
    return config;
  },
  error => {
    // 对请求错误做些什么
    console.error('request error:', error);
    return Promise.reject(error);
  }
)
//拦截响应
request.interceptors.response.use(
  response => {
    const { data } = response;
    if (data && data.success) {
      return data;
    } else {
      // exceptionHandle(data.code, data.msg);
      return Promise.reject(data.msg);
    }
  },
  error => {
    let errorMsg = "";
    let errorCode = 500;

    if (error.response) {
      errorCode = error.response.status;
      errorMsg = error.response.data?.msg || error.response.statusText;
    } else if (error.message) {
      errorMsg = error.message;
    }

    // exceptionHandle(errorCode, errorMsg);
    return Promise.reject(error);
  }
)
 
export default request;